#import <UIKit/UIKit.h>

enum kPIEventViewStyle {
    kPIEventViewStyleTraditional = 0,
    kPIEventViewStyleTimeAtStart = 1,
    kPIEventViewStyleTimeAtEnd = 2
};

enum kPIEventDaySummaryStyle {
    kPIEventDaySummaryStyleNone = 0,
    kPIEventDaySummaryStyleEventsOnly = 1,
    kPIEventDaySummaryStyleFull = 2
};


extern NSString* const kPIEventOptionsViewStyle;
extern NSString* const kPIEventOptionsShowCalendar;
extern NSString* const kPIEventOptionsDaySummary;
extern NSString* const kPIEventOptionsFutureOnly;
extern NSString* const kPIEventOptionsShowPastEvents;
extern NSString* const kPIEventOptionsShowAvailability;
extern NSString* const kPIOptionsHideInfoNativeCalendars;
extern NSString* const kPIOptionsHideInfoPICalendars;

extern NSInteger const kPIEventOptionsViewStyleDefault;
extern BOOL const kPIEventOptionsShowCalendarDefault;
extern NSInteger const kPIEventOptionsDaySummaryDefault;
extern BOOL const kPIEventOptionsFutureOnlyDefault;
extern BOOL const kPIEventOptionsShowPastEventsDefault;
extern BOOL const kPIEventOptionsShowAvailabilityDefault;


@interface PIEventStatus : NSObject
{
    NSInteger itemsReturnedCount;   // Number of items returned by selecting data
    NSInteger itemsFilteredCount;   // Number of items removed from the selected list
    NSInteger itemsWithDetailsCount;     // Number of items that have details to display

    BOOL showEmoji; // Setting of "show emoji" in config
    BOOL lowColour;
    
    NSInteger shortDates;
    BOOL showIcons;
    BOOL showCalendar;
    BOOL emojiAfter;
    kPIEventViewStyle viewStyle;
    BOOL singleLineOniPad;
    NSInteger showListDetails;   // Setting of "show details" in config
    NSInteger showSourceIcons;  // Setting of the "show source icons" in config
    
    NSDate* nextChangeDue;
    NSDate* nextAlarmDue;
    
    NSInteger mapViewType;
    
    NSDate* lastListRefresh;
}


@property (assign) NSInteger itemsReturnedCount;
@property (assign) NSInteger itemsFilteredCount;
@property (assign) NSInteger itemsWithDetailsCount;

@property (assign, getter=isShowEmoji) BOOL showEmoji;
@property (assign, getter=isEmojiAfter) BOOL emojiAfter;
@property (assign, getter=isLowColour) BOOL lowColour;

@property (retain) NSDate* lastListRefresh;
@property (assign) NSInteger shortDates;
@property (assign) NSInteger showSourceIcons;
@property (assign, getter=isShowIcons) BOOL showIcons;
@property (assign, getter=isShowAvailability) BOOL showAvailability;
@property (assign) kPIEventViewStyle viewStyle;
@property (assign) kPIEventDaySummaryStyle daySummaryStyle;
@property (assign, getter=isShowCalendar) BOOL showCalendar;
@property (assign, getter=isSingleLineOniPad) BOOL singleLineOniPad;
@property (assign) NSInteger showListDetails;

@property (retain) NSDate* nextChangeDue;
@property (retain) NSDate* nextAlarmDue;

@property (assign, getter=hasShownDialHelp) BOOL shownDialHelp;

@property (assign) NSInteger mapViewType;


- (id)init;
- (void)dealloc;

@end
